package com.chsi.onjava8.lambda;

import java.util.function.Function;

/**
 * @Auther shikf
 * @Date 2020-04-28 15:20
 */
public class FunctionComposition {
    static Function<String, String>
            f1 = s -> {
                System.out.println("执行f1");
                System.out.println(s);
                return s.replace('A', '_');
            },
            f2 = s -> {
                System.out.println("执行f2");
                return  s.substring(3);
            },
            f3 = s -> {
                System.out.println("执行f3");
                return s.toLowerCase();
            },
            f4 = f1.compose(f2).andThen(f3);
    public static void main(String[] args) {
        System.out.println(f4.apply("GO AFTER ALL AMBULANCES"));
    }
}
